var columns = [ [ {
	field : 'id',
	title : 'ID',
	width : fixWidth(0.01)
}, {
	field : 'userId',
	title : 'UserID',
	width : fixWidth(0.01)
}, {
	field : 'username',
	title : '用户名',
	width : fixWidth(0.02)
}, {
	field : 'hostName',
	title : '站点名',
	width : fixWidth(0.015)
}, {
	field : 'hostRandomCode',
	title : '站点随机码',
	width : fixWidth(0.015)
// }, {
// field : 'hostReview',
// title : '绑定域名',
// width : fixWidth(0.01),
// formatter : function(value, row) {
// if (!row.id || isNaN(parseInt(row.id))) {
// return '';
// }
// value = parseInt(value);
// if (value === 0) {
// return '<span style="color: orange;">不可用</span>';
// } else if (value === 1) {
// return '<span style="color: green;">可用</span>';
// }
// }
}, {
	field : 'hostTrial',
	title : '正式',
	align : 'center',
	width : fixWidth(0.01),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		value = parseInt(value);
		if (value === 0) {
			return '<span style="color: orange;">试用</span>';
		} else if (value === 1) {
			return '<span style="color: green;">正式</span>';
		}
	}
}, {
	field : 'hostTypeId',
	title : '站点类型',
	align : 'center',
	width : fixWidth(0.015),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		var item;
		for (var i = 0; i < listHostTypeJson.length; i++) {
			if (parseInt(listHostTypeJson[i].id) === parseInt(value)) {
				item = listHostTypeJson[i];
			}
		}
		return item.name;
	}
}, {
	field : 'hostServerId',
	title : '分控服务器',
	width : fixWidth(0.02),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		var item;
		for (var i = 0; i < listServerJson.length; i++) {
			if (parseInt(listServerJson[i].id) === parseInt(value)) {
				item = listServerJson[i];
			}
		}
		return item.serverName;
	}
}, {
	field : 'hostStatus',
	title : '状态',
	align : 'center',
	width : fixWidth(0.01),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		value = parseInt(value);
		if (value === 1) {
			return '<span style="color: green;">开通</span>';
		} else if (value === 2) {
			return '<span style="color: orange;">关闭</span>';
		} else if (value === 3) {
			return '<span style="color: purple;">冻结</span>';
		} else if (value === 4) {
			return '<span style="color: red;">删除</span>';
		} else {
			return '未知';
		}
	}
}, {
	field : 'hostCreateAt',
	title : '创建时间',
	align : 'center',
	width : fixWidth(0.015),
	formatter : function(value, row, index) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		return moment(value).format('YYYY-MM-DD');
	}
}, {
	field : 'hostEndAt',
	title : '到期时间',
	align : 'center',
	width : fixWidth(0.015),
	formatter : function(value, row, index) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		return moment(value).format('YYYY-MM-DD');
	}
}, {
	field : 'operation',
	title : '操作',
	align : 'center',
	width : fixWidth(0.03),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		if (parseInt(row.hostStatus) === 4) {
			return '&nbsp;&nbsp;<a onclick="editorStatus(' + row.id + ')" href="javascript:void(0);">状态</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
		}
		var html = '<a onclick="viewMore(' + row.id + ')" href="javascript:void(0);">详情</a>';
		html += '&nbsp;&nbsp;<a onclick="editorStatus(' + row.id + ')" href="javascript:void(0);">状态</a>';
		html += '&nbsp;&nbsp;<a onclick="editorHostsetup(' + row.id + ')" href="javascript:void(0);">增值</a>';
		html += '&nbsp;&nbsp;<a onclick="editorEndAt(' + row.id + ')" href="javascript:void(0);">到期</a>';
		return html;
	}
} ] ]

$(function() {
	$(".g-search").click(function() {
		$("input[name='pagination']").val("1");
		$("#node-sitelist").datagrid("reload");
	});
	$(".g-reset").click(function() {
		$('#hostUsername').textbox('setText', '');
		$('#hostTypeId').combobox('select', '-1');
		$('#hostServerId').combobox('select', '-1');
		$('#hostStatus').combobox('select', '-1');
		$('#hostReview').combobox('select', '-1');
		$('#hostTrial').combobox('select', '-1');
		$('#hostCreateAtFrom').datebox('setValue', '');
		$('#hostCreateAtTo').datebox('setValue', '');
		$('#hostEndAtFrom').datebox('setValue', '');
		$('#hostEndAtTo').datebox('setValue', '');
		$('#hostOrderByString').combobox('setValue', '1');
	});
	$("#node-sitelist").datagrid({
		fitColumns : true,
		scrollbarSize : 0,
		singleSelect : true,
		toolbar : '#model-action-toolbar',
		url : getRequestDataUrl(),
		method : 'POST',
		loader : function(param, success, error) {
			request.jpost(getRequestDataUrl(), getRequestDataParam(), function(response, data) {
				// console.log(data);
				success({
					total : data.list.length,
					rows : makeDataList(data.list)
				});
				if (data.total) {
					$("#totalMessage").html("共 " + data.total + " 条数据");
				} else {
					$("#totalMessage").html("共 0 条数据");
				}
				if (data.total > 12) {
					// 显示分页
					$("#node-pp").show();
					$("#node-pp").pagination({
						layout : [ 'first', 'links', 'last' ],
						links : 9,
						total : data.total,
						pageSize : 12,
						pageNumber : $("input[name='pagination']").val(),
						// displayMsg: '共 {total}',
						onSelectPage : function(pageNumber) {
							// console.log(pageNumber);
							$("input[name='pagination']").val(pageNumber);
							$("#node-sitelist").datagrid("reload");
						}
					});
				} else {
					// 隐藏分页
					$("#node-pp").hide();
				}
			}, function() {
				error();
			})
			// console.log(param);
		},
		columns : columns,
		onLoadSuccess : function(data) {
			if (data.total < 1) {
				// 如果没有数据
				$("#node-sitelist").datagrid('appendRow', {
					id : '无记录'
				})
				return;
			}
		}
	});

	$(window).on("resize", function() {
		$('#node-sitelist').datagrid('resize', {
			width : datagridResizeWidth()
		});
	});
	// $("#node-sitelist").datagrid('reload');
});

function makeDataList(list) {
	var result = [];
	for (var i = 0; i < list.length; i++) {
		var item = list[i];
		// console.log(item);
		result.push({
			id : item.host.id,
			userId : item.customerUser.id,
			username : item.customerUser.username,
			hostName : item.host.name,
			hostStatus : item.host.status,
			hostRandomCode : item.host.randomCode,
			hostReview : item.host.review,
			hostServerId : item.host.serverId,
			hostTrial : item.host.trial,
			hostTypeId : item.host.typeId,
			hostCreateAt : item.host.createAt,
			hostEndAt : item.host.endAt
		});
	}
	return result;
}

function getRequestDataParam() {
	var obj = {
		username : $('#hostUsername').textbox('getText'),
		typeId : $('#hostTypeId').val(),
		serverId : $('#hostServerId').val(),
		status : $('#hostStatus').val(),
		review : $('#hostReview').val(),
		trial : $('#hostTrial').val(),
		pageNumber : $("input[name='pagination']").val(),
		createAtFrom : $('#hostCreateAtFrom').val(),
		createAtTo : $('#hostCreateAtTo').val(),
		endAtFrom : $('#hostEndAtFrom').val(),
		endAtTo : $('#hostEndAtTo').val(),
		orderByString : $('#hostOrderByString').val()
	};
	// console.log(obj)
	return obj;
}

function getRequestDataUrl() {
	var url = '/backend/nodemanage/sitelist/infos';
	return url;
}

// 操作
function viewMore(id) {
	layer.alert("暂未开发！");
}

function editorStatus(id) {
	if (isNaN(parseInt(id)) || parseInt(id) < 1) {
		return;
	}
	var listData = $("#node-sitelist").datagrid('getData');
	var item;
	if (listData && listData.rows && listData.rows.length > 0) {
		for (var i = 0; i < listData.rows.length; i++) {
			if (listData.rows[i] && parseInt(listData.rows[i].id) === parseInt(id)) {
				item = listData.rows[i];
			}
		}
	}
	if (!item) {
		return;
	}
	layer.ready(function() {
		layer.open({
			type : 1,
			title : '更新状态',
			skin : 'layui-layer-rim', // 加上边框
			area : [ '600px', '460px' ], // 宽高
			btn : [ '确定修改', '取消' ],
			content : $("#editor-status").html(),
			success : function(layero, index) {
				$(".layui-layer-content input[name='userid']").val(item.userId);
				$(".layui-layer-content input[name='username']").val(item.username);
				$(".layui-layer-content input[name='hostid']").val(item.id);
				$(".layui-layer-content select[name='hoststatus']").val(item.hostStatus);
			},
			btn1 : function(index, layero) {
				var status = $(".layui-layer-content select[name='hoststatus']").val();
				status = parseInt(status);
				if (isNaN(status)) {
					return;
				}
				if ($(".layui-layer-content .mloading").hasClass("active")) {
					return;
				}
				$(".layui-layer-content").mLoading('show');
				request.post('/backend/nodemanage/sitelist/update-one-status', {
					hostId : id,
					status : status
				}, function(request, data) {
					if (data && data.id) {
						$("#node-sitelist").datagrid("reload");
						layer.close(index);
					}
				}, null, function() {
					$(".layui-layer-content").mLoading('hide');
				});
			}
		});
	});
}

function editorHostsetup(id) {
	layer.alert("暂未开发！");
}

function editorEndAt(id) {
	if (isNaN(parseInt(id)) || parseInt(id) < 1) {
		return;
	}
	var listData = $("#node-sitelist").datagrid('getData');
	var item;
	if (listData && listData.rows && listData.rows.length > 0) {
		for (var i = 0; i < listData.rows.length; i++) {
			if (listData.rows[i] && parseInt(listData.rows[i].id) === parseInt(id)) {
				item = listData.rows[i];
			}
		}
	}
	if (!item) {
		return;
	}
	layer.ready(function() {
		layer.open({
			type : 1,
			title : '修改到期日期',
			skin : 'layui-layer-rim', // 加上边框
			area : [ '600px', '460px' ], // 宽高
			btn : [ '确定修改', '取消' ],
			content : $("#editor-end-at").html(),
			success : function(layero, index) {
				$(".layui-layer-content input[name='userid']").val(item.userId);
				$(".layui-layer-content input[name='username']").val(item.username);
				$(".layui-layer-content input[name='hostid']").val(item.id);
				// $(".layui-layer-content
				// input[name='hostEndAt']").val(item.hostEndAt);
				$(".layui-layer-content .hostEndAt").datetimepicker({
					format : 'YYYY-MM-DD',
					locale : moment.locale('zh-CN'),
					showClose : true, // 是否显示关闭 按钮
					viewMode : 'days',// 天数模块展示，months则为以月展示
					daysOfWeekDisabled : false,// 星期几 禁止选择,参数 [num],多个逗号隔开
					calendarWeeks : false, // 显示 周 是 今年第几周
					toolbarPlacement : 'default', // 工具摆放的位置，top 则为上，默认为底
					showTodayButton : false, // 是否工具栏 显示 直达今天天数的 按钮，默认false
					showClear : false, // 是否 工具栏显示 清空 输入框 的按钮。默认false
					defaultDate : moment(item.hostEndAt).format('YYYY-MM-DD')
				});
			},
			btn1 : function(index, layero) {
				var endTime = $.trim($(".layui-layer-content input[name='hostEndAt']").val());
				// console.log(endTime);
				if (!endTime) {
					return;
				}
				endTime = endTime.replace(/-/g, '/');
				if ($(".layui-layer-content .mloading").hasClass("active")) {
					return;
				}
				$(".layui-layer-content").mLoading('show');
				request.post('/backend/nodemanage/sitelist/update-one-endat', {
					hostId : id,
					endTime : endTime
				}, function(request, data) {
					if (data && data.id) {
						$("#node-sitelist").datagrid("reload");
						layer.close(index);
					}
				}, null, function() {
					$(".layui-layer-content").mLoading('hide');
				});
			}
		});
	});
}